<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>[Generic Component Framework v3] Rover Demo</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<!--link href="tabs.css" rel="stylesheet" type="text/css"-->
</head><body>
 <div id="wrapper">
    <div id="logo_box">
        <a class="img_link" href="https://github.com/pnudupa/gcf" target="_blank" ><img style="float:left;margin-left:10px;margin-top:5px;margin-bottom:5px;"src="header_gcf_logo.jpg" alt="GCF LOGO"/></a>
        <a class="img_link" href="https://www.vcreatelogic.com/" target="_blank" ><img style="float:right;margin-right:10px; margin-top: 30px;" src="header_vcl_logo.jpg" alt="VCL LOGO"/></a>
        <div style="clear:both"></div>
    </div>
    <div class="nav">
        <ul>
            <li class="selectedpage">
                <a class="a-home" href="index.html" >
                    <span>Home</span>
                </a>
            </li>
            <li>
                <a class="a-classes " href="classes.html">
                    <span>All Classes</span>
                </a>
            </li>
            <li>
                <a class="a-home " href="gcf_modules.html">
                    <span>Modules</span>
                </a>
            </li>
            <li>
                <a class="a-home " href="gcf_guides_and_videos.html">
                    <span>Guides & Videos</span>
                </a>
            </li>
            <li>
                <a class="a-home " href="gcf_tools_and_inbuilt_components.html">
                    <span>Tools & Components</span>
                </a>
            </li>
        </ul>
    </div>
    <div id="main-content">
        <div class="inside">
        <div>
<!-- Generated by Doxygen 1.8.16 -->
</div><!-- top -->
<div class="PageDoc"><div class="header">
  <div class="headertitle">
<div class="title">Rover Demo </div>  </div>
</div><!--header-->
<div class="contents">
<div class="toc"><h3>Table of Contents</h3>
<ul><li class="level1"><a href="#gcf_rover_1">Launching Rover</a></li>
<li class="level1"><a href="#gcf_rover_2">Various views</a></li>
</ul>
</div>
<div class="textblock"><p>This program showcases the use of GCFQuick3 module to build component based QML applications. Rover is a simple file/folder browser application written using GCFGui3, QtGui and QtQuick modules. You can view contents of a file/folder in list, grid, cover-flow and spiral views. While list and grid views are offered by the base Rover application, spiral and cover-flow views come from loadable components. The whole point of this demo is to whocase a way to bring QtGui and QtQuick modules together into a single component-based GCFGui3 application.</p>
<p>This page does not explain the source code of the example. We encourage you to study the source code to get a sense of how GCFQuick3 module can be leveraged in your applications.</p>
<h1><a class="anchor" id="gcf_rover_1"></a>
Launching Rover</h1>
<p>Launch the Transfigure application from the <code>$GCFDIR/Binary/Demos</code> folder. You will notice a window as shown below.</p>
<div class="image">
<img src="rover.png" alt=""/>
</div>
<p>You can expand to any folder on the left-tree-panel and view the contents of that folder in the panel on the right. The panel on the right is a <code>QQuickView</code>. You can switch between List, Grid, Cover Flow and Spiral Flow views by selecting the appropriate tab on the top.</p>
<p>As said before, the List and Grid views come from the base Rover application. The Cover-Flow and Spiral-Flow views come from loadable components. Take a look at the contents of the <code>$GCFDIR/Binary/Demos</code> folder.</p>
<pre class="fragment">./Rover
./RoverComponents
./RoverComponents/libCoverFlowView.dylib
./RoverComponents/libSpiralFlowView.dylib
</pre><p>Notice how the cover-flow and spiral-flow views are made available from loadable components. The components are explicitly loaded by the RoverApp from its <code>main()</code> function.</p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv)</div>
<div class="line">{</div>
<div class="line">    <a class="code" href="class_g_c_f_1_1_gui_application.html">GCF::GuiApplication</a> a(argc, argv);</div>
<div class="line"> </div>
<div class="line">    RoverApp *roverApp = <span class="keyword">new</span> RoverApp;</div>
<div class="line">    roverApp-&gt;load();</div>
<div class="line"> </div>
<div class="line">    a.loadComponent(<span class="stringliteral">&quot;RoverComponents/CoverFlowView&quot;</span>);</div>
<div class="line">    a.loadComponent(<span class="stringliteral">&quot;RoverComponents/SpiralFlowView&quot;</span>);</div>
<div class="line"> </div>
<div class="line">    <span class="keywordflow">return</span> a.processArgumentsAndExec();</div>
<div class="line">}</div>
</div><!-- fragment --><p>This part is being highlighted as much, because it demonstrates a way for QML items to come from shared libraries and merge at run-time.</p>
<h1><a class="anchor" id="gcf_rover_2"></a>
Various views</h1>
<p> 
<center>
<table border="0" cellspacing="5" cellpadding="5">
<tr>
<td>
 </p><div class="image">
<img src="rover-listview.png" alt=""/>
</div>
<p>  
<td>
<td>
 </p><div class="image">
<img src="rover-gridview.png" alt=""/>
</div>
<p>  
<td>
</tr>
<tr>
<td>
 </p><div class="image">
<img src="rover-coverflow.png" alt=""/>
</div>
<p>  
<td>
<td>
 </p><div class="image">
<img src="rover-spiralflow.png" alt=""/>
</div>
<p>  
<td>
</tr>
</table>
</center>
 </p>
</div></div><!-- contents -->
</div><!-- PageDoc -->
<div class="ttc" id="aclass_g_c_f_1_1_gui_application_html"><div class="ttname"><a href="class_g_c_f_1_1_gui_application.html">GCF::GuiApplication</a></div><div class="ttdoc">Extends GCF::Application for GUI Applications.</div><div class="ttdef"><b>Definition:</b> GuiApplication.h:44</div></div>
</div>
</div>
</div>
<div class="footer_content">
<table width="100%" class="footer">
<tr>
<td align="left" width="50%">Copyright &copy; 2013-2019,
 <a class="el" href="http://www.vcreatelogic.com" target="_black">VCreate Logic Private Limited</a></td>
<td align="right" width="50%"><a class="el" href="http://www.vcreatelogic.com/products/gcf" target="_black">GCF - Generic Component Framework</a></td>
</tr>
</table>
</div>
</div>
</body>
</html>
